package cn.edu.hzw.criminalintent.database

import androidx.lifecycle.LiveData
import androidx.room.*
import cn.edu.hzw.criminalintent.bean.Crime
import java.util.*

@Dao
interface CrimeDao {
    /**
     * 查询所有数据
     */
    @Query("SELECT * FROM crime")
    fun getCrimes():LiveData<List<Crime>>

    /**
     * 通过id查询对应数据
     */
    @Query("SELECT * FROM crime WHERE id=(:id)")
    fun getCrime(id:UUID):LiveData<Crime?>

    /**
     * 更新数据
     */
    @Update
    fun updateCrime(crime: Crime)

    /**
     * 添加数据
     */
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun addCrime(crime: Crime)

    /**
     * 删除数据
     */
    @Query("DELETE FROM crime")
    suspend fun deleteAll()
}